typedef union{
  int    val; 
  long   ctype;
  char*  str;
  Entry* entry;
  Expr*  expression;
  ExprList *elist;
  Class *classptr;
  TypeList *typelist;
} YYSTYPE;
#define	TOKEN	258
#define	IDEN	259
#define	CONSTANT	260
#define	TYPENAME	261
#define	TYPENAME_FUNCTION	262
#define	TEMPLATE_NAME	263
#define	TEMPLATE_NAME_EXPR	264
#define	THIS_CLASSNAME	265
#define	FLOAT	266
#define	DOUBLE	267
#define	UNSIGNED	268
#define	INT	269
#define	SHORT	270
#define	LONG	271
#define	CHAR	272
#define	VOID	273
#define	BOOL	274
#define	TYPEDEF	275
#define	CLASS	276
#define	STRUCT	277
#define	ENUM	278
#define	OPERATOR	279
#define	GOTO	280
#define	UNION	281
#define	STATIC_CAST	282
#define	CONST_CAST	283
#define	DYNAMIC_CAST	284
#define	REINTERPRET_CAST	285
#define	STRUCT_X	286
#define	CLASS_X	287
#define	STRUCT_Y	288
#define	CLASS_Y	289
#define	UNION_Y	290
#define	IF	291
#define	ELSE	292
#define	WHILE	293
#define	DO	294
#define	FOR	295
#define	SWITCH	296
#define	CASE	297
#define	RETURN	298
#define	CONTINUE	299
#define	BREAK	300
#define	DEFAULT	301
#define	NAMESPACE	302
#define	USING	303
#define	TRY	304
#define	CATCH	305
#define	THROW	306
#define	TEMPLATE	307
#define	EXTERN	308
#define	THREEDOT	309
#define	TYPEOF	310
#define	EXPLICIT	311
#define	FRIEND	312
#define	LAMBDA	313
#define	FAKE_INIT_LIST	314
#define	CONST	315
#define	STATIC	316
#define	STDCALL	317
#define	API	318
#define	VIRTUAL	319
#define	PRIVATE	320
#define	PROTECTED	321
#define	PUBLIC	322
#define	COMMA	323
#define	ASSIGN	324
#define	MUL_A	325
#define	DIV_A	326
#define	MOD_A	327
#define	ADD_A	328
#define	MINUS_A	329
#define	SHL_A	330
#define	SHR_A	331
#define	BAND_A	332
#define	BOR_A	333
#define	XOR_A	334
#define	ARITH_IF	335
#define	LOG_OR	336
#define	LOG_AND	337
#define	BIN_OR	338
#define	BIN_XOR	339
#define	BIN_AND	340
#define	EQUAL	341
#define	NOT_EQUAL	342
#define	LESS_THAN	343
#define	LEQ	344
#define	GREATER	345
#define	GEQ	346
#define	LSHIFT	347
#define	RSHIFT	348
#define	PLUS	349
#define	MINUS	350
#define	STAR	351
#define	DIVIDE	352
#define	MODULO	353
#define	MEMBER_ARROW	354
#define	MEMBER_DOT	355
#define	NEW	356
#define	DELETE	357
#define	TYPECAST	358
#define	DEREF	359
#define	ADDR	360
#define	UPLUS	361
#define	UMINUS	362
#define	LOG_NOT	363
#define	BIN_NOT	364
#define	INCR	365
#define	DECR	366
#define	SIZEOF	367
#define	TYPE_CONSTRUCT	368
#define	FUN_CALL	369
#define	ARRAY	370
#define	ARROW	371
#define	DOT	372
#define	BINARY_SCOPE	373
#define	UNARY_SCOPE	374


extern YYSTYPE yylval;
